package br.com.fafica.biblioteca.livro.control;
import br.com.fafica.biblioteca.RepositorioException;
import br.com.fafica.biblioteca.livro.model.CadastroLivro;
import br.com.fafica.biblioteca.livro.model.IRepositorioLivro;
import br.com.fafica.biblioteca.livro.model.Livro;
import br.com.fafica.biblioteca.livro.model.LivroJaCadastradoException;
import br.com.fafica.biblioteca.livro.model.LivroNaoEncontradoException;

public class ControladorLivro {

	
private IRepositorioLivro RepositorioLivro;
	
	public ControladorLivro(IRepositorioLivro repositorioLivro){
		this.RepositorioLivro = RepositorioLivro;
	}
	
	public void cadastrar(Livro livro) throws LivroJaCadastradoException, RepositorioException{
		CadastroLivro objCadastroLivro = new CadastroLivro(this.RepositorioLivro);
		objCadastroLivro.cadastrar(livro);
	}
	
	public Livro remover (String titulo) throws LivroNaoEncontradoException, RepositorioException{
		CadastroLivro objCadastroLivro = new CadastroLivro(this.RepositorioLivro);
		return objCadastroLivro.remover(titulo);
		
	}
	
	public Livro procurar(String titulo) throws LivroNaoEncontradoException, RepositorioException{
		CadastroLivro objCadastroLivro = new CadastroLivro(this.RepositorioLivro);
		return objCadastroLivro.procurar(titulo);
	}
	
	public void atualizar (Livro livro) throws LivroNaoEncontradoException, RepositorioException{
		CadastroLivro objCadastroLivro = new CadastroLivro(this.RepositorioLivro);
		objCadastroLivro.atualizar(livro);
	}

}
